package com.ymx.darling.session.setting;

import com.ymx.darling.dialect.page.PageBody;
import com.ymx.darling.log.Log;
import com.ymx.darling.session.setting.relation.RelationSelector;

import java.lang.reflect.Method;
import java.util.Map;

/**
 * 存储当前sql语句的配置信息
 * @author 爱Java的小于
 */
public class StatementSetting {
    private Integer batchSize;
    private String sqlStatementId;
    private Log statementLog;
    private PageBody pageBody;
    private Method mapperMethod;
    private Class<?> namespaceClass;
    private RelationSelector relationSelector;
    private Map<String, Object> nestedQueryParam;

    public void setBatchSize(Integer batchSize) {
        this.batchSize = batchSize;
    }

    public Integer getBatchSize() {
        return batchSize;
    }

    public String getSqlStatementId() {
        return sqlStatementId;
    }

    public void setSqlStatementId(String sqlId) {
        this.sqlStatementId = sqlId;
    }

    public PageBody getPageBody() {
        return pageBody;
    }

    public void setPageBody(PageBody pageBody) {
        this.pageBody = pageBody;
    }

    public Class<?> getNamespaceClass() {
        return namespaceClass;
    }

    public void setNamespaceClass(Class<?> namespaceClass) {
        this.namespaceClass = namespaceClass;
    }

    public Map<String, Object> getNestedQueryParam() {
        return nestedQueryParam;
    }

    public void setNestedQueryParam(Map<String, Object> nestedQueryParam) {
        this.nestedQueryParam = nestedQueryParam;
    }

    public Method getMapperMethod() {
        return mapperMethod;
    }

    public void setMapperMethod(Method mapperMethod) {
        this.mapperMethod = mapperMethod;
    }

    public RelationSelector getRelationSelector() {
        return relationSelector;
    }

    public void setRelationSelector(RelationSelector relationSelector) {
        this.relationSelector = relationSelector;
    }

    public Log getStatementLog() {
        return statementLog;
    }

    public void setStatementLog(Log statementLog) {
        this.statementLog = statementLog;
    }
}
